We present a tight extremal threshold for the existence of Hamilton cycles in graphs with large minimum degree and without a large ``bipartite hole`` (two disjoint sets of vertices with no edges between them). This result extends Dirac's classical theorem, and is related to a theorem of Chv\'atal and Erd\H{o}s. In detail, an $(s, t)$-bipartite-hole in a graph $G$ consists of two disjoint sets of vertices $S$ and $T$ with $|S|= s$ and $|T|=t$ such that there are no edges between $S$ and $T$; and $\widetilde{\alpha}(G)$ is the maximum integer $r$ such that $G$ contains an $(s, t)$-bipartite-hole for every pair of non-negative integers $s$ and $t$ with $s + t = r$. Our central theorem is that a graph $G$ with at least $3$ vertices is Hamiltonian if its minimum degree is at least $\widetilde{\alpha}(G)$. From the proof we obtain a polynomial time algorithm that either finds a Hamilton cycle or a large bipartite hole. The theorem also yields a condition for the existence of $k$ edge-disjoint Hamilton cycles. We see that for dense random graphs $G(n,p)$, the probability of failing to contain many edge-disjoint Hamilton cycles is $(1 - p)^{(1 + o(1))n}$. Finally, we discuss the complexity of calculating and approximating $\widetilde{\alpha}(G)$.